Systems and methods for generating personalized dynamic presentations from non-personalized presentation structures and contents

ABSTRACT

A computer system for generating a dynamic presentation comprises:
         a master storage containing master presentation data having a master nodal structure and master contents associated with content nodes of said structure,   a structure editor capable of copying said master nodal structure into a personalized data structure in a dedicated read/write storage and of selectively changing the copied master nodal structure into a personalized nodal structure in response to user inputs, wherein said personalized nodal structure comprises all or part of the nodes of the master nodal structure,   a contents editor capable of copying a master content into said personalized data structure in said dedicated read/write storage and of selectively changing the copied master content into a personalized content in response to user inputs,   a dynamic presentation generator for generating a personalized presentation by accessing said personalized data structure, determining which content nodes in said structure belong to personalized presentation, and for any such content node selectively accessing master contents or personalized content if the latter is present in said personalized data structure.

BACKGROUND OF THE INVENTION

The invention generally relates to a system and method for generatingpersonalized dynamic presentations.

Computer systems equipped with software for generating dynamicmultimedia presentations, are well known in the art.

There are several pieces of software on the market which are dedicatedto multimedia presentations.

The most widespread is Microsoft PowerPoint®. PowerPoint runs onpersonal computers and is widely used by business people, educators,students, and trainers and is among the most prevalent forms ofpersuasion technology. As a part of Microsoft Office, Microsoft OfficePowerPoint has become the world's most widely used presentation program.

In this software, as in most other presentation software, text,graphics, movies, and other objects are positioned on individual pagesor “slides”. The “slide” analogy is a reference to the slide projector,a device which has become somewhat obsolete due to the use of PowerPointand other presentation software. Slides can be printed, or (more often)displayed on-screen and navigated through at the command of thepresenter.

PowerPoint provides two types of movements. Entrance, emphasis, and exitof elements on a slide itself are controlled by what PowerPoint callsCustom Animations. Transitions, on the other hand are movements betweenslides. These can be animated in a variety of ways. The overall designof a presentation can be controlled with a master slide; and the overallstructure, extending to the text on each slide, can be edited using aprimitive outliner.

Sharing a PowerPoint presentation with others generally means sendingthe whole file by email, or copying the whole presentation file on aremovable storage such as a USB memory key for reading by anothercomputer.

And the richer the presentation will be, the bigger will be this wholefile, which makes sharing difficult. In this regard, there is noconvenient way to only send changes from an older version of a givenpresentation.

Adobe Flash® technology offers another way to make presentations. Flashanimation possibilities combined with interactivity bring more libertyto enrich presentation with visuals, texts, videos.

With internet democratization and broadband connections, Flashapplications are now widely used. Even if these applications areconceived to be shown on screen, they can also be printed.

Thanks to the large possibilities offered by this technology, there isno limit but the imagination to make any kind of transition animations.

Although Flash presentations are now very widespread on the Internet,the underlying application design often provides static contents only,which means contents are not impacted by external data.

Nevertheless, the up-to-date Flash technology allows to build a Flashapplication based on dynamic contents, based on the ActionScriptprogramming language which allows to manipulate variables, store anddisplay data, etc.

Indeed, Flash-based applications (usually from websites) provide dynamiccontents through a back office or administration page, usually in twosteps: first the database where information is stored is modified by anadministrator through at the back office level; then the information isdynamically read by a Flash application and displayed in front office.Thus a single Flash file requested by the user will change its stateaccording to external data collected from the back office.

Although this presentation generating software is nowadays very thoroughand capable, there is no convenient way for a user to modify (such aspersonalize) an existing presentation or for exchanging personalizedpresentations between users without the requirement of broadbandcommunications or large physical mass storage compatible with the largesize of such files.

More particularly, when an existing presentation is to be modified,adapted, or personalized to a specific context or public, it isnecessary to rely on specific editing tools which can be mastered onlyby skilled people and the use of which can be fastidious and timeconsuming.

And this needs to be done each time a change, even a minute change, isto be brought to the presentation.

In addition, volume of presentation data can be quite large, inparticular when multiple video sequences are involved (sometimes severalhundreds of megabytes), and having numerous personalized presentationsinvolve that a large disk space is required, and that any transmissionof presentations on a network, e.g. via email, is virtually impossible.

SUMMARY OF THE INVENTION

The present invention seeks to mitigate these drawbacks, and aims atoffering a presentation tool that allows easy building or personalizedpresentations from a master presentation, even by non skilled persons,and that allows easy transfer of personalized presentation data betweenusers having access to the same master presentation data.

To this end, the present invention provides according to a first aspecta computer system for generating a dynamic presentation, comprising:

a master storage containing master presentation data having a masternodal structure and master contents associated with content nodes ofsaid structure,

a structure editor capable of copying said master nodal structure into apersonalized data structure in a dedicated read/write storage and ofselectively changing the copied master nodal structure into apersonalized nodal structure in response to user inputs, wherein saidpersonalized nodal structure comprises all or part of the nodes of themaster nodal structure,

a contents editor capable of copying a master content into saidpersonalized data structure in said dedicated read/write storage and ofselectively changing the copied master content into a personalizedcontent in response to user inputs,

a dynamic presentation generator for generating a personalizedpresentation by accessing said personalized data structure, determiningwhich content nodes in said structure belong to personalizedpresentation, and for any such content node selectively accessing mastercontents or personalized content if the latter is present in saidpersonalized data structure.

Preferably, said contents editor and said presentation generator sharecommon display generation tools, whereby said contents editor operatesin what-you-see-is-what-you-get mode. This allows the user toimmediately visualize any personalization made to the contents, withouthaving to make any edition in the somewhat complex file structures.

In order to make the changes to the structure easy for the user, againwithout entering into the file representing the presentation structure,said structure editor comprises a display generator for displayinglabels of nodes of the master nodal structure and user-input sensitivegraphic items associated to each node label for selectively declaringeach associated node as enabled or disabled in the personalized nodalstructure.

Preferably, said master nodal structure comprises a tree structure filewhere each content node of the structure has an enabled/disabled tag,and wherein the structure editor is capable of changing the tag valuesdepending on the user inputs made on the graphic items.

Preferably, said master contents include master presentation templatedata toward which point template pointers associated to structure nodes,and contents data towards which point content pointers associated tosaid template data, and wherein said presentation generator is capableof accessing master presentation template data pointed by an enablednode, of checking whether a corresponding personalized content iscontained in said dedicated storage, if so using said personalizedcontent for the presentation, and if not accessing master contentlocated in the master storage for the presentation.

Conveniently, said nodal structures and said contents are tag-basedarborescent files such as XML files.

It is further advantageous that the system comprises a plurality ofpersonalization data sets, each comprising a personalized nodalstructure and personalized contents, and a selector for selecting oneamong said sets. In this manner, the user can build differentpersonalized presentations and select the one to be used in a specificinstance.

Typically, the master storage is a read-only removable medium storageunit, such as a CD-ROM player, and said dedicated read/write storage isa different storage unit such as the computer system internal hard disk.In this manner, the same master CD-ROM can be provided to a plurality ofusers, and each user is capable of making his/her own personalizedpresentations.

The system may further comprise a communication device for transmittingto a remote computer system said personalization file as a single datapackage. In this manner, different users can share presentations,without the need to transfer from one computer system to another largequantities of information, since only what was modified is transferred.

It is further that the master storage contains both master presentationdata and localized presentation data (in particular with text and speechin different languages). This allows, from the same starting materials,to easily build personalized presentations in different languages.

In this case, a language selector allows to use as master nodalstructure and master contents the localized structure and contents.

In such a situation, the system is adapted, for each content intended tobelong to a presentation, to first check whether a personalized contentexists, if so to use such personalized content, and if not to checkwhether a localized content exists, if so to use such localized content,and if not to use a master content.

The computer system may further comprise a database editor capable ofcopying at least part of a master database contained in the masterpresentation data into said dedicated read-write storage and topersonalize data of said copied database in response to user inputs,wherein said presentation generator is capable of dynamically using saidpersonalized data for the presentation.

In such manner, to a given presentation can be attached any kind ofpersonalized data to be dynamically used by the presentation generatoror by any other software.

Preferably, dynamic presentation generator comprises a Flash™ typepresentation generator.

According to a second aspect, the present invention provides a methodfor generating a personalized dynamic presentation in a computer systemhaving a master storage containing master presentation data having amaster nodal structure and master contents associated to the nodes ofsaid nodal structure, defining together a non-personalized dynamicpresentation, said method comprising:

copying said master nodal structure from said master storage to apersonalized data structure contained in a dedicated read/write storage,

editing said copied structure into a personalized nodal structure inresponse to user inputs, wherein said personalized nodal structurecomprises all or part of the nodes of the master nodal structure,

for at least one of said nodes, copying a master content to saidpersonalized data structure contained in said dedicated read/writestorage,

editing said copied master content into a personalized content inresponse to user inputs, and

generating said personalized dynamic presentation by accessing saidpersonalized data structure, determining which content nodes in saidstructure belong to the personalized presentation, and for any suchcontent node selectively accessing master contents or personalizedcontent if the latter is present in said personalized data structure.

According to a third aspect, the present invention provides a method fortransmitting a personalized dynamic presentation from a first computersystem to second another computer system, comprising the steps of:

providing each computer system with a master storage medium containingsimilar non-personalized dynamic presentation data,

at said first computer system, assembling a personalized data structuregenerated by the method as defined above into a single data package.

transmitting said package from said first computer system to said secondcomputer system via a standard communications process,

at said second computer system, disassembling said single data packageinto said personalized data structure, and storing said structure in adedicated read/write storage,

whereby a method as defined above can be performed in said secondcomputer system for generating said personalized dynamic presentation ora similar one from said non-personalized dynamic presentation data andsaid personalized data structure.

By this method, personalized presentations can easily be shared betweenuser without fastidious and complex exchange of large volumes ofinformation, and with a good reliability.

According to a fourth aspect of the present invention, a computer-basedtool for assisting salespersons in the presentation of products/serviceson offer is provided, which comprises:

a storage containing a master product/service presentation includingdata associated with a number of products/services on offer,

an editor for changing the master product/service presentation into apersonalized product presentation and for storing in a personalizationdata set representative of the changes,

a dynamic presentation generator for reading said master productpresentation in said storage and said personalization file in order togenerate a personalized presentation for selected products/services,where presentation contents can further be personalized, as entirelydefined by the personalization data set.

According to a fifth aspect, the present invention provides a method forassisting salespersons in the presentation of products/services onoffer, comprising:

providing to each salesperson a computer-readable data storage mediumcontaining a master product/service presentation including dataassociated with a number of products/services on offer,

providing to each sales person a computer-based editor for changing themaster product/service presentation into a personalized productpresentation and for storing in a personalization data setrepresentative of the changes and accessible by said computer,

providing to each salesperson a dynamic presentation generator forreading said master product presentation in said storage and saidpersonalization file in order to generate a personalized presentationfor selected products/services, as entirely defined by thepersonalization data set.

Preferably, said editor and said presentation generator are provided onsaid data storage medium for installation on the salesperson computersystem. In this manner, a single medium such as a CD-ROM is provided tothe salesperson without the need for high level of IT management.

Advantageously, the method comprises the additional following steps:

providing to regional sales entity computer-readable data storage mediaeach containing a plurality of master product/service presentationscorresponding to products/services available in respective regions,

providing the computer systems of salespersons in a given region withcode limiting access by the editor and presentation generator to themaster product/service presentation corresponding to said given region.

In this manner, an identical data storage medium can be provided to thevarious regional sales entities throughout the world, and at the sametime a salesperson in a given region will be sure to presentproducts/services that are effectively available in this region.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be more clearly understood from the followingdetailed description of a preferred embodiment thereof, made withreference to the appended drawings, in which:

FIG. 1A to 1D illustrate different levels of a simplified folderstructure of a personalized presentation data set corresponding to asession.

FIG. 2 shows a new session display generated for creating a new session,

FIG. 3 shows the first slide of a template presentation that can bepersonalized in a presentation session,

FIG. 4 illustrates a session node in a XML structure,

FIG. 5 shows the main display of a session manager allowing to create,edit, import, etc. presentation sessions,

FIG. 6 illustrates an item portion of a XML structure of a session,

FIG. 7 illustrates another item portion of a XML structure of a session,where an item includes sub-items,

FIG. 8 illustrates the user interface of a slide manager forediting/personalizing the structure of a session,

FIG. 9 illustrates the main steps executed for performing a personalizedpresentation according to the present invention,

FIG. 10 shows an exemplary XML slide content with personalized text tobe used by the system and method of the invention,

FIG. 11 illustrates the corresponding display during the presentation,and

FIGS. 12A and 12B illustrate two XML slide contents with different typesof personalizations.

DETAILED DESCRIPTION Definitions

In the practical embodiment of the invention as described hereinunder,the following abbreviations/acronyms are used:

SWF: a proprietary vector graphics file format produced by the Flashsoftware from Adobe (formerly Macromedia). Intended to be small enoughfor publication on the web, SWF files can contain animations or appletsof varying degrees of interactivity and function. SWF is also sometimesused for creating animated display graphics and menus for DVD movies,and television commercials.

The Flash program generates in a manner known per se SWF files as acompressed and non-editable final product, whereas it uses the .flaformat for its editable working files (source: Wikipedia.org).Specifications on the .fla file format may be found in the documententitled “Macromedia Flash FLA project File Format,” promulgated byDigital Preservation (digitalpreservation.gov) at the Library ofCongress, the entire disclosure of which is hereby incorporated byreference herein.

These file format specifications can be found under the following link:http://www.adobe.com/licensing/developer/fileformat/faq/, which is fullyincorporated by reference herein.

The specification details are well-defined. As explained in the “SWFFile Format Specification” by thelabs.com, SWF files are stored in fileswith the extension .swf and are binary files stored as 8-bit bytes. Thevarious parameters of the .swf structure are detailed in the “SWF FileFormat Specification,” and in “SWF File Reference” by Beijing FeynmanSoftware Technology Co., Ltd available on their miniGUI.com website, theentire disclosures of which are hereby incorporated by reference herein.

Adobe Flash (abbreviated in Flash): refers to both the Adobe FlashPlayer, and to the Adobe Flash Professional multimedia authoringprogram. Adobe Flash Professional is used to create content for theAdobe Engagement Platform (such as web applications, games and movies,and content for mobile phones and other embedded devices). The FlashPlayer, developed and distributed by Adobe Systems, is a clientapplication available in most common web browsers. It features supportfor vector and raster graphics, a scripting language called ActionScriptand bi-directional streaming of audio and video. There are also versionsof the Flash Player for mobile phones and other non-PC devices. (source:Wikipedia.org)

More information on the Flash Player can be found under the followinglink: http://www.adobe.com/products/flashplayer/ and in the white paperby Vikrant Karvir entitled “Delivering Enterprise Applications, Content,and Communications with the Flash® Platform, © 2005 by Macromedia, theentire disclosures of which are hereby incorporated by reference herein.Additional information on the Flash Player is detailed in “Adobe Flash”as of the filing date of the instant application at wikipedia.org, andin “Macromedia Flash 8 on Demand” by Anderson and Johnson, the entiredisclosures of which are hereby incorporated by reference herein.

ActionScript: a scripting language based on ECMAScript, primarilyassociated with scripting behavior of Adobe Flash applications.Currently in version 3.0, ActionScript has revolutionized the flashformat, which initially offered little else than typical linearanimation. With ActionScript, a Flash application can provide a highlevel of interactivity, which is a necessary component of modern webdesign. Applications developed using Adobe Flash or Adobe Flex willoften use ActionScript for runtime manipulation of data and content.Other platforms, such as ColdFusion also support scripting with theActionScript language.

More information regarding the use of Adobe Flash authoring program andthe ActionScript language can be found under the following link:http://livedocs.adobe.com/flash/9.0/main/ and in the following texts:“Essential Action Script 3.0” by Colin Moock, “Foundation Action Scriptfor Flash 8” by Bhangal, Besley, Powers and Doleck, and “Adobe Flash CS3Professional on Demand,” by Anderson, Johnson and Perspection, Inc. theentire disclosures of which are hereby incorporated by reference herein.

SWF2EXE software: a type of software which enables the creation ofexecutable files from SWF files.

SWF files were originally designed for use in a web browser and requiredthe Flash plug-in to be installed for the browser it is running on.However SWF files can be played outside of a web browser using the AdobeFlash Player, providing that the user has the Flash Player installed.The Adobe Flash Player provides an option to wrap the SWF file into astandalone executable which does not require the Flash Player to beinstalled for it to run successfully. This can be done by running theFlash projector, and in the File menu select ‘Create projector’. Usingthis description, the Flash Player can be thought of as a SWF2EXEprogram.

Since the option to create standalone presentations (or self executingFlash movies) from Flash was introduced, there have been several SWF2EXEprograms, available commercially and as freeware, which claim to be ableto create standalone executables from SWF files and at the same timeextend the functionality of Flash. For example, these programs offeraccess to the file system to save to a file—something which cannot bedone with Flash alone. (source: Wikipedia.org)

Introduction

In its currently preferred practical implementation, the computer-baseddynamic presentation system and method according to the presentinvention is based on a combination of SWF files (made with a Flashauthoring tool integrating Action Script development environment plusmultiple graphic designs) and XML files warped into the commercial “ZincSWF2EXE” solution available from Multimedia Limited (MDM), UnitedKingdom.

Starting Data Structures

The system of the present invention operates from a master dynamicpresentation data stored on a read/write or read only medium, typicallya CD-ROM or other appropriate medium.

By “presentation”, it is meant here any type of multimedia presentationincluding contents such as text, static images, video, sound, and whichcan perceived as a time succession of “slides” each having its owncontents.

These master data can include different master localized versions eachdefining a master or model presentation in different languages in whichthe presentation is to be delivered (in particular text and speech).

These master localized versions can be attached to a root master contentwhich is for instance the English version. It only uses a “menu.xml”file and the SWF slides as root master content.

Each master localized version includes a pack of XML files used as abasis for a session. The localized versions are stored in a data folderassociated to the application on the medium, except for files which arenot to be localized (e.g. images) which are stored in the root mastercontents.

The data folder associated to a localized version contains all localizedXML slide files (localized master content) and a localized master nodalstructure. The localized Master Nodal Structure can refer to differentSWF/XML files using a “file” attribute as will be explained in greaterdetail in the following.

The master nodal structure is contained in a document named “menu.xml”and which defines a hierarchical organization of presentation items (theabove-mentioned slides), said master nodal structure being stored in a“menu” folder of the master localized version.

Each item node of the master nodal structure may refer to a filebelonging to a localized master content also stored in the masterlocalized structure.

One aspect of the present invention is to allow a user, from thesemaster data, to create a personalized dynamic presentation (“session”),wherein a set of personalized session data are created and stored in aread/write storage unit of the system, such as the system internal harddisk drive, without requiring the duplication of large presentationdata. This set of personalization data is stored in a set of folders,the root of which will be called the local root folder in the followingdescription.

Every time the presentation is modified, a new .xml file is created orupdated, bearing in mind that to any .swf file always corresponds one.xml file per session.

Basic Operation

The dynamic presentation program embodying the method of the presentinvention comprises the following basic functions.

When the system is launched, a display is generated for input of username and password for entitled use of the program.

After checking that the user name is registered and the password iscorrect, the program checks whether a date which has been associated tothe master presentation data and which is stored therewith is consistentwith the current system date.

This allows to possibly detect that a master presentation is obsolete,an in such case an error message is displayed, informing the user thathe should obtain a more up-to-date version of the master presentation.

Then, the program checks whether a local root folder is present on thehard disk drive of the computer system, meaning that a personalizedsession has been already initiated in the same system.

This local root folder, the contents of which will be described ingreater detail hereinafter, is expected by the program to be found alonga given path in the main hard drive of the user's computer (e.g.C:\MHPS\COCKTAIL\ in the present example).

If the program does not find a local root folder, the program thenautomatically creates such a root folder as well as sub-foldersincluding among others a subfolder “data” and, in the “data” folder, anempty XML file named “profil.xml” file.

FIGS. 1A to 1D shows an example of the COCKTAIL root folder and part ofits hierarchical structure (according to a Windows® type operatingsystem in the present species).

The sub-folders named “1”, “2” contained in the COCKTAIL folder as shownin FIG. 1A are session folders each corresponding to a personalizedpresentation.

The COCKTAIL folder further contains a “data” folder which itselfcontains an XML file named “profil.xml” which is used by the program aswill be later explained.

As illustrated in FIG. 1B, a folder session (here a folder named “5”)itself contains several sub-folders.

A sub-folder “IMAGES” contains personalization images such as .jpegfiles which are to be used instead of a master image in the personalizedpresentation. FIG. 1D shown an example of the contents of such “IMAGES”folder, with an image called 00_(—)01.jpg.

A sub-folder “menu” contains the personalized “menu.xml” file asmentioned in the foregoing and as will be described in greater detail inthe following.

The “5” folder further contains a XML file corresponding to apersonalized slide and named 00_(—)01_F.xml in the present example. ThisXML file contains personalization data including in particularpersonalized text and personalized text attributes for the relevantslide.

Advantageously, the names of the .jpg or .xml personalization files (orother file types) are identical to the names of the .swf slide templatefiles contained in the master data, to that the program can find in avery straightforward manner the personalization files corresponding tothe respective slides.

An example of such XML slide file is shown in FIG. 1C, and correspondsto the slide display as shown in FIG. 3. Basically, this file is derivedeither from the master .swf slide file contained in the master data, orfrom a pre-existing .xml personalization file, with personalized orfurther personalized items in the relevant places. It this example, atext field present in the fifth position in the XML contains some textwith has been personalized (here the “TEST” text string come inreplacement of the “CLIENT NAME” text string present in the master XMLfile and practically intended to be replaced with the name of the clientto whom the personalized presentation is intended).

Through a mechanism that will be described later in the presentdescription, the system would then display “TEST” in the place of“CLIENT NAME” in the slide displayed in FIG. 3.

After the launching step described above has been executed, a “sessionmanager” part of the program (cf. infra) is then executed.

This session manager provides a number of session management actions tobe done by the user, and in particular the creation of a new session bymeans of a mouse-clickable “ADD A SESSION” button as shown in FIG. 2.This causes the prompting for a new session name and a session languageselected from a pop-up menu.

This allows the user to create a personalized session derived from to amaster localized version as identified by the language choice. (seeinfra chapters Master Presentation Creation: Session Creation and MasterLocalized Version).

If the program does find a local root folder, then it launches thecurrent Active Session as defined by the contents of the “profil.xml”file contained in the “data” sub-folder of the root folder.

The “profil.xml” file contained in the “data” folder under the“COCKTAIL” folder is used to store session personalization data, i.e.session parameters corresponding to different sessions created by theuser as will be described hereinafter, and to determine which among aplurality of sessions should be the active session, i.e. the session tobe used for a presentation. There is only one “profil.xml” file per typeof presentation (a type of presentation being here COCKTAIL). A simpleexample of a “profil.xml” file with two session nodes is shown in FIG.4.

When a session is created (cf. supra) or modified (cf. infra), the“profil.xml” file is updated with an additional session node of the typeillustrated in FIG. 4.

The session node includes in the present species the followingsub-nodes:

NOM: the specific session name as inputted by the user

ID: a unique session identification number

DATE: Creation date/Slide Manager modification date saved in the“profil.xml” file.

PATH: the local path for accessing the local root folder containing the“profil.xml” file.

LANGUE: designates a localized master version of the presentation usedto create the session. “LANGUE” for “LANGUAGE” can possibly be changedin “COUNTRY” or “REGION” so as to designate to which part of the worldthe session node is assigned: “localized” shall be here understood in awide meaning. Preferentially, only one language per session node isforeseen, so that the presentation can be easily and quickly transmittedand downloaded, meaning the language is adapted to the country where thepresentation shall be used.

EDITABLE (value true or false): editable/non-editable character of thesession (EDITABLE IS always true for sessions created by users).

The “profil.xml” file also includes as shown in FIG. 4 a LAUNCH_ID nodeidentifying which session, as designated by the following parameter, isactive.

Session Manager

The session manager will now be described in greater detail.

Basically, this part of the computer program allows users to manage(i.e. create, rename, duplicate, modify, delete, import, send to someoneelse, etc.) sessions in different ways.

A main display of the session manager is shown in FIG. 5. This displayshows all existing sessions on a computer system. When the user clickson a session name, the session manager updates the LAUNCH_ID attributestored in the “profil.xml” file so that the location of the session canbe found therefrom. The session then becomes the new active session.

The session manager allows renaming, duplicating, deleting, transmittingto another system, and reordering all sessions. All actions made by theuser in the session manager result in a corresponding update of the“profil.xml” file under the active session node thereof and/or of the“profil.xml” file nodal structure.

The session manager can also alter presentation data files(deletion/duplication), as will be described hereinunder.

One main feature of the session manager is to allow to edit thestructure of the session. This is done through another program partforming a structure editor and called slide manager in the presentexample.

In the example illustrated in FIG. 5, two sessions are existing andlisted in the display: the first one is highlighted, meaning that it isthe current active session.

The display further includes, for each listed session, session functionbuttons corresponding to functions of renaming, duplicating, deleting orsending a session, respectively.

This display also includes global function buttons allowing to add a newsession, add a folder in a session, or import a session.

Master Presentation Creation: Session Creation

When a session is created (or duplicated from an existing session), theprogram modifies the “profil.xml” file so as to add thereto a newsession node as described with reference to FIG. 4, and also creates asession folder in the local root folder (e.g. C:\MHPS\COCKTAIL\1\ asshown in FIG. 4 if this is the first created session), the name of thesession folder being identical to the session ID (in the present speciesthe “1” figure).

The program then reads the master nodal structure (“menu.xml” file) fromthe storage unit where the master localized versions are present, andcopies this master nodal structure to become the “menu.xml” filecontained in the “menu” folder of the newly created session folder.

This copy of the master nodal structure will be used for defining, undercontrol of the user, the visibility/non-visibility in the finalpresentation of each content (slide) as pointed to by the master nodalstructure.

The Master Nodal Structure defined by a “menu.xml” file contains aseries of item nodes is illustrated in FIGS. 6 and 7. These are locatedat the lower level in the hierarchy and correspond to respective slides,i.e. individual parts of the presentation. Each item node refers to amaster contents belonging to the corresponding master localized version.More particularly, each slide item has a “file” attribute designatingthe Flash files which are to be loaded and used as design template forthe slide in question.

Once the “menu.xml” file has been copied from the relevant masterlocalized version to the session folder, it can be used for determiningwhich slides will be included in the presentation and which slides willnot belong to the presentation.

In a practical embodiment, and as illustrated in FIG. 6, an item nodecontains several attributes:

enabled: a tag indicating whether said content (slide) is visible in thepersonalized presentation/session or not (values on or off).

file: a name used to identify the master content file to be loaded forthe presentation; if the property is set to “no”, this means that nomaster content is available for the considered item node.

duration: a time indicator (e.g. in minutes or seconds) defining for howlong Master Content has to be displayed; the presence of this indicatorin each item nodes allows the user to evaluate in a very simple mannerthe total duration of the personalized presentation, practically, thesystem is capable of dynamically adding the time indicators of eachitems having an Enabled value set to “on”, and of displaying thisduration.

label: the name of the Master Content (slide) used as label in the slidemanager (cf. infra) and corresponding to the different chapters presentin a session.

printable: an indicator of whether the Master Content (slide) can beprinted from the slide manager or not (cf. infra).

It should be noted that an item node can be the child of another itemnode, allowing to build hierarchical menus as will be described in thefollowing. And example of item nodes embedded into a parent item node isillustrated in FIG. 7.

According to an advantageous feature, the total duration of thepresentation can by dynamically computed and displayed (cf. bottom leftcorner of FIG. 8) while the user in is the course of enabling/disablingslides.

More particularly, each time a menu item is enabled or disabled by theuser according to the above procedure, the program recomputes the sum ofthe individual durations associated with each menu item. In this manner,the user can adjust the composition of the session so that a targetedduration can be achieved.

Structure Editor: Slide Manager

The menu.xml file interacts with a corresponding editor, named “slidemanager”, which allows easy editing of the Master Nodal Structureassociated with the created session. The Structure Editor reads the“menu.xml” file and displays it as a hierarchical menu, as illustratedin FIG. 8. Each item can be enabled or disabled by a tick box or byclicking in the zone of the item name.

The “on” or “off” status of an item is further revealed in the displayby highlighting the enabled items or graying the disabled items.

Preferably, the change of the Enabled status of an item is automaticallypropagated to descendent item nodes, together with the display revealingthe status.

Further, when the user sets the Enabled status of an item to “on”, thecorresponding slide is displayed after having read the slide data fromthe master localized version. Further, the total duration of thepresentation as described in the foregoing is updated.

Viewing the Presentation: Launching and Playing a Session

When a session is launched, the application loads the current session“menu.xml” file read from the “menu” folder contained in the sessionfolder designated by the appropriate ID (cf. supra). The menu isdisplayed based on “menu.xml” file first child and the first enabledslide item is played.

Practically, a slide is a .SWF file used as design template. It can beassociated to a XML file that provides modified content (e.g. the“00_(—)01_F.xml” file as described in the foregoing).

When a slide item is played, the application loads the SWF filescorresponding to the slide item “file” attributes. Once loaded, itchecks whether a XML slide content file is located in the local sessionfolder, revealing that there is a modified content for this slide.

If so, the application loads the XML slide content and displays itthrough the SWF file using the SWF original design.

If no XML slide content is found in the local session folder, theapplication searches for one in the Master Localized Version (linked tothe session by the “profil.xml” definition) and loads it.

If no XML slides content is found (either locally or in the MasterLocalized Version), the basic SWF content is displayed.

When the user goes to the next slide, the application plays the nextenabled slide found in the “menu.xml” slide item.

Slide Personalization—XML Slide Content

According to one aspect of the present invention, a slide may be edited(personalized) by the user during the viewing of the presentation. Whena slide is edited/personalized, the corresponding personalized slidecontent is implemented as a declarative XML file (e.g. the“00_(—)01_F.xml” file as described above) itself referring to differentfiles, and in particular to the master content obtained from the masterdata, which practically is a SWF template which is supplied with initialcontent and formatting.

The edition/personalization is preferably done via an appropriate texteditor, preferably in what-you-see-is-what-you-get (WYSIWYG) mode.

Of course, the degree of freedom allowed to the user for personalizationcan be adjusted.

In the present example, the user can modify text content and text style,and substitute an image to another one, or modify some contents in avideo (e.g. text portions thereof). To the contrary, the slide layout(background colors, locations of the different items in the slide, etc.)as defined by the design slide template is kept untouched.

An example of a text-type XML slide content is illustrated in FIG. 10.It includes a plurality of “txt” nodes, having “mc” attributes whichexample of XML Slide Content: the “txt” nodes have “mc” attributes whichdeclare which SWF Movie Clip (SWF structure) the node content is linkedto. The data in the “txt” node is in HTML format, allowing rich andflexible layout (presentation options).

FIG. 11 shows a display generated by the system by interpretation of theXML Slide Content of FIG. 10.

FIGS. 12A and 12B further illustrate that an XML slide content cancontain modified text contents (in FIG. 12A, the original text string“CLIENT NAME” in the fifth text item has been replaced with “NO TXTFORMAT CHANGE”) and/or modified text style (in FIG. 12B, the text formatagain in the fifth text item has been changed from FONT FACE=“DIN-Light”to FONT FACE=“DIN-Regular”, and the text content is this time “TXTFORMAT CHANGE”).

Details of Session Playing

FIG. 9 illustrates the different steps executed by the system whenperforming the presentation.

First of all, the system checks for the presence of an active localsession on the system hard disk. The profil.xml file allows to determinethe current active session.

The menu.xml file of this session is then parsed. When the systemidentifies that a menu item Enabled tag is set to “on”, it then loadsfrom the master data storage the corresponding template slide file,which contains design information and content data.

Then before reading any content data for presentation, the system checkswhether a personalized content exists in the personalized session datafor this content.

If this step determines that no personalized content exists, then thepresentation is performed either with a localized changed content, or,if no such content exists, with a master content.

To the contrary, if such personalized content is detected, then thepresentation is performed with this personalized content.

These steps are repeated for each menu item, the ones having an Enabledtag set to “off” being merely ignored, and for each successive slidecorresponding to the enabled items, whereby the personalizedpresentation is generated.

Session Export

A personalized session can be exported by a user for use by a differentuser having another computer system which can access the same masterdata, and possible localized data.

For that purpose, the folder organization of a session, starting fromthe session root folder, can be assembled in a single file, e.g. by aZip® type compression software, and transmitted e.g. via email orthrough a removable storage unit such as a USB key, to the other system.

There, an import function of the session manager part of the program canuse an Unzip piece of software for decompressing the file into theoriginal folder arrangement, store this folder arrangement at the rightplace under the local root folder, and modify the local “profil.xml”file for making the system aware of this change.

A further characteristic of the program is the possibility for theprogram administrator to impose a filter regarding the slide contents,so that the user is able to concentrate on the presentation and lets theadministrator take care of the local strategy to adopt in the consideredregion.

More particularly, computer-readable data storage media such as CD-ROMs,each containing a plurality of master product/service presentationscorresponding to products/services available in respective regions, canbe provided to the various regional sales entities of a same company,and code limiting access to the master product/service presentation(s)corresponding to said given region can be installed on each salespersoncomputer.

Dynamic Data Management

The present invention as described in the foregoing can be implementedin a dynamic data management environment.

For instance, a presentation can be further personalized by appropriateuser interface displays belonging to the presentation and allowing toselect/deselect products, to input price and/or quantity informationassociated to selected products, etc.

For this purpose, the master data can comprise a master product databaseincluding various types of data (description, manufacturing price,recommended retail price, etc.), and this database is exploited forcreating in the folder of the active session a personalized database inresponse of appropriate user inputs. Such database is for instance inxml format.

The contents of this database can in turn be dynamically used by variouscalculation programs forming part of the presentation, so as to takeinto account only selected products and perform actions such as profitsimulation based on quantities and pricing, etc.

Typically, this can be done with listing-type slides where items to bepresented or not can be ticked or not by the user building his offer.The system copies the relevant parts of a master product database in xmlformat belonging to the master data in a specific xml personalizationfile in the session directory, and appropriate tags such as SELECTED/NONSELECTED are updated according to the user's selections.

In the same manner, pricing slides allows to input commercial data(prices, quantities, discounts, etc.) which again are stored underrespective tags of the personalization file.

The latter is accessible for any computing to be made in associationwith the presentation or separately.

Of course, the system can handle different levels of user authorizationcorresponding to different capacities to personalize the data of thedatabase.

Data Mining

Another optional feature of the system and method of the presentinvention comprises storing auxiliary data, such as logging thepersonalization actions made by each user, in a manner known per se inthe art of database management.

Such data can then be gathered in real time or according to any schedulefor any kind of processing such as commercial analysis or statistics.

Of course, many variants may be brought to the system and method asdescribed in the foregoing.

In particular, other data structures, file types and dynamicpresentation software can be used without departing from the scope andspirit of the present invention.

1. A computer system for generating a dynamic presentation, comprising:a master storage containing master presentation data having a masternodal structure and master contents associated with content nodes ofsaid structure, a structure editor capable of copying said master nodalstructure into a personalized data structure in a dedicated storage andof selectively changing the copied master nodal structure into apersonalized nodal structure in response to user inputs, wherein saidpersonalized nodal structure comprises all or part of the nodes of themaster nodal structure, a contents editor capable of copying a mastercontent into said personalized data structure in said dedicatedread/write storage and of selectively changing the copied master contentinto a personalized content in response to user inputs, a dynamicpresentation generator for generating a personalized presentation byaccessing said personalized data structure, determining which contentnodes in said structure belong to personalized presentation, and for anysuch content node selectively accessing master contents or personalizedcontent if the latter is present in said personalized data structure. 2.A computer system according to claim 1, wherein said contents editor andsaid presentation generator share common display generation tools,whereby said contents editor operates in what-you-see-is-what-you-getmode.
 3. A computer system according to claim 1 or 2, wherein saidstructure editor comprises a display generator for displaying labels ofnodes of the master nodal structure and user-input sensitive graphicitems associated to each node label for selectively declaring eachassociated node as enabled or disabled in the personalized nodalstructure.
 4. A computer system according to claim 3, wherein saidmaster nodal structure comprises a tree structure file where eachcontent node of the structure has an enabled/disabled tag, and whereinthe structure editor is capable of changing the tag values depending onthe user inputs made on the graphic items.
 5. A computer systemaccording to claim 4, further comprising a presentation durationcomputing unit capable of dynamically adding together durationinformation associated with each enabled node and of displaying thetotal duration.
 6. A computer system according to claims 3, wherein:said master contents include master presentation template data towardwhich point template pointers associated to structure nodes, andcontents data towards which point content pointers associated to saidtemplate data, and wherein said presentation generator is capable ofaccessing master presentation template data pointed by an enabled node,of checking whether a corresponding personalized content is contained insaid dedicated storage, if so using said personalized content for thepresentation, and if not accessing master content located in the masterstorage for the presentation.
 7. A computer system according to claim 1,wherein said nodal structures and said contents are tag-basedarborescent files.
 8. A computer system according to claim 1, furthercomprising a plurality of personalization data sets and a selector forselecting one of said personalization data sets, each of saidpersonalization data sets comprising a personalized nodal structure andpersonalized contents.
 9. A computer system according to claim 1,wherein said master storage is a read-only removable medium storageunit, and wherein said dedicated read/write storage is a differentstorage unit.
 10. A computer system according to claim 1, furthercomprising a communications device for transmitting to a remote computersystem a personalized nodal structure and personalized contents as asingle data package.
 11. A computer system according to claim 1, whereinthe master storage contains both master presentation data and localizedpresentation data, so that personalized presentation in differentlanguages can be generated.
 12. A computer system according to claim 11,further comprising a language selector for selecting a particularlocalized nodal structure and localized contents as master nodalstructure and contents.
 13. A computer system according to claim 12,wherein the system is adapted, for each content intended to belong to apresentation, to first check whether a personalized content exists, ifso to use such personalized content, and if not to check whether alocalized content exists, if so to use such localized content, and ifnot to use a master content.
 14. A computer system according to claim 1,further comprising a database editor capable of copying at least part ofa master database contained in the master presentation data into saiddedicated read-write storage and to personalize data of said copieddatabase in response to user inputs, wherein said presentation generatoris capable of dynamically using said personalized data for thepresentation.
 15. A computer system according to claim 1, wherein saiddynamic presentation generator comprises an interactive presentationgenerator.
 16. A method for generating a personalized dynamicpresentation in a computer system having a master storage containingmaster presentation data having a master nodal structure and mastercontents associated to the nodes of said nodal structure, definingtogether a non-personalized dynamic presentation, said methodcomprising: copying said master nodal structure from said master storageto a personalized data structure contained in a dedicated read/writestorage, editing said copied structure into a personalized nodalstructure in response to user inputs, wherein said personalized nodalstructure comprises all or part of the nodes of the master nodalstructure, for at least one of said nodes, copying a master content tosaid personalized data structure contained in said dedicated read/writestorage, editing said copied master content into a personalized contentin response to user inputs, and generating said personalized dynamicpresentation by accessing said personalized data structure, determiningwhich content nodes in said structure belong to the personalizedpresentation, and for any such content node selectively accessing mastercontents or personalized content if the latter is present in saidpersonalized data structure.
 17. A method according to claim 16, whereinsaid contents editing and presentation generating steps are performedwith common display generation tools, whereby said contents editing ismade in what-you-see-is-what-you-get mode.
 18. A method according toclaim 16 or 17, wherein said structure editing step comprises displayinglabels of nodes of the master nodal structure and user-input sensitivegraphic items associated to each node label for selectively declaringeach associated node as enabled or disabled to the personalized nodalstructure.
 19. A method according to claim 18, wherein said master nodalstructure comprises a tree structure file where each content node of thestructure has an enabled/disabled tag, said structure editing stepcomprising changing the values of said tags in response to user inputson said graphic items.
 20. A method according to claim 18, furthercomprising dynamically adding together duration information associatedwith each enabled node and displaying the total duration, thedynamically adding step being performed at the time of nodeenablement/disablement.
 21. A method according to claim 18, wherein:said master contents include master presentation template data towardwhich point template pointers associated to structure nodes, andcontents data towards which point content pointers associated to saidtemplate data, and wherein said presentation generating step comprisesaccessing master presentation template data pointed by an enabled node,checking whether a corresponding personalized content is contained insaid personalized data structure and if so, accessing said personalizedcontent for the part of the presentation corresponding to said node andalternatively if not, accessing master content located in the masterstorage for part of the presentation corresponding to said node.
 22. Amethod according to claim 16, wherein said nodal structures and saidcontents are tag-based arborescent files.
 23. A method according toclaim 16, wherein: said personalized data structure comprises aplurality of personalization data sets, each personalized data setcomprising a personalized nodal structure and associated personalizedcontents, and the method further comprises a step of selecting one ofsaid personalization data sets prior to the presentation generatingstep.
 24. A method according to claim 16, wherein said master storage isa read-only removable medium storage unit, and wherein said dedicatedread/write storage is a different storage unit.
 25. A method accordingto claim 16, wherein the master storage contains both masterpresentation data and localized presentation data, so that personalizedpresentation in different languages can be generated.
 26. A methodaccording to claim 25, further comprising an initial step of languageselection, and a step of a language selector for selecting a particularlocalized nodal structure and localized contents as master nodalstructure and contents.
 27. A method for transmitting a personalizeddynamic presentation from a first computer system to second computersystem, comprising: providing the first and second computer systems witha master storage medium containing similar non-personalized dynamicpresentation data, at said first computer system, assembling apersonalized data structure into a single data package, transmittingsaid package from said first computer system to said second computersystem, and at said second computer system, disassembling said singledata package into said personalized data structure and storing saidstructure in a dedicated read/write storage, whereby said secondcomputer system is capable of generating said personalized dynamicpresentation from said non-personalized dynamic presentation data andsaid personalized data structure.
 28. A computer-based tool forassisting salespersons in the presentation of products/services onoffer, comprising: storage containing a master product/servicepresentation including data associated with a number ofproducts/services on offer, an editor for changing the masterproduct/service presentation into a personalized product presentationand for storing in a personalization data set representative of thechanges, and a dynamic presentation generator for reading said masterproduct presentation in said storage and said personalization file inorder to generate a personalized presentation for selectedproducts/services, wherein presentation contents can further bepersonalized in accordance with the personalization data set.
 29. Amethod for assisting salespersons in the presentation ofproducts/services on offer, comprising: providing to each salesperson acomputer-readable data storage medium containing a masterproduct/service presentation including data associated with a number ofproducts/services on offer, providing to each sales person acomputer-based editor for changing the master product/servicepresentation into a personalized product presentation and for storing ina personalization data set representative of the changes and accessibleby said computer, and providing to each salesperson a dynamicpresentation generator for reading said master product presentation insaid storage and said personalization file in order to generate apersonalized presentation for selected products/services in accordancewith the personalization data set.
 30. A method according to claim 29,wherein said editor and said presentation generator are provided on saiddata storage medium for installation on the salesperson computer system.31. A method according to claim 29 or 30, further comprising: providingto regional sales entity computer-readable data storage media eachcontaining a plurality of master product/service presentationscorresponding to products/services available in respective regions,providing the computer systems of salespersons in a given region withcode limiting access by the editor and presentation generator to themaster product/service presentation corresponding to said given region.32. The computer system according to claim 7, wherein said tag-basedarborescent files are XML files.
 33. The method according to claim 22,wherein said tag-based arborescent files are XML files.
 34. A methodaccording to claim 27, wherein said second computer system generatessaid personalized dynamic presentation by: copying a master nodalstructure from a master storage to said personalized data structurecontained in said dedicated read/write storage, editing said copiedstructure into a personalized nodal structure in response to userinputs, wherein said personalized nodal structure comprises all or partof the nodes of the master nodal structure, for at least one of saidnodes, copying a master content to said personalized data structurecontained in said dedicated read/write storage, editing said copiedmaster content into a personalized content in response to user inputs,and generating said personalized dynamic presentation by accessing saidpersonalized data structure, determining which content nodes in saidstructure belong to the personalized presentation, and for any suchcontent node selectively accessing master contents or personalizedcontent if the latter is present in said personalized data structure.